package com.yq.cp.entity.basics;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yq.cp.entity.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 结算总表
 * </p>
 *
 * @author shenyuqing
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_total_settlement")
public class TotalSettlement extends BaseEntity {

    private static final long serialVersionUID = 1L;
    /**
     * 年
     */
    private Integer year;
    /**
     * 月
     */
    private Integer month;
    /**
     * 渠道商id
     */
    private Long channelMerchantsId;
    /**
     * 渠道商名
     */
    @TableField(exist = false)
    private String channelMerchantsName;

    /**
     * 所在大区id
     */
    private Long regionId;
    /**
     * 所在大区名
     */
    //@TableField(exist = false)
    private String regionName;
    /**
     * 站点id
     */
    private Long siteId;

    /**
     * 所在区域id
     */
    private Long areaId;

    /**
     * 站点名称
     */
    private String siteName;
    /**
     * 所在区域名
     */
    private String areaName;

    /**
     * 所属月份
     */
    private Date date;

    /**
     * 客户名
     */
    private String customName;

    /**
     * 客户户号
     */
    private String accountNumber;

    /**
     * 发电地址
     */
    private String powerGenerationAddress;

    /**
     * 发电单位
     */
    private String powerGenerationUnit;

    /**
     * 结算周期开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date settlementCycleBegin;

    /**
     * 结算周期结束
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date settlementCycleOver;

    /**
     * 备注
     */
    private String notes;

    /**
     * 0-保存  1-执行
     */
    private Integer saveOrExecution;

    /**
     * 总总发电量
     */
    private BigDecimal zzfdl;

    /**
     * 尖总发电量
     */
    private BigDecimal jzfdl;

    /**
     * 峰总发电量
     */
    private BigDecimal fzfdl;

    /**
     * 平总发电量
     */
    private BigDecimal pzfdl;

    /**
     * 谷总发电量
     */
    private BigDecimal gzfdl;

    /**
     * 总上网电量
     */
    private BigDecimal zswdl;

    /**
     * 尖上网电量
     */
    private BigDecimal jswdl;

    /**
     * 峰上网电量
     */
    private BigDecimal fswdl;

    /**
     * 平上网电量
     */
    private BigDecimal pswdl;

    /**
     * 谷上网电量
     */
    private BigDecimal gswdl;

    /**
     * 总客户消纳电量
     */
    private BigDecimal zkhxndl;

    /**
     * 尖客户消纳电量
     */
    private BigDecimal jkhxndl;

    /**
     * 峰客户消纳电量
     */
    private BigDecimal fkhxndl;

    /**
     * 平客户消纳电量
     */
    private BigDecimal pkhxndl;

    /**
     * 谷客户消纳电量
     */
    private BigDecimal gkhxndl;

    /**
     * 总电网结算单价
     */
    private BigDecimal zdwjsdj;

    /**
     * 尖电网结算单价
     */
    private BigDecimal jdwjsdj;

    /**
     * 峰电网结算单价
     */
    private BigDecimal fdwjsdj;

    /**
     * 平电网结算单价
     */
    private BigDecimal pdwjsdj;

    /**
     * 谷电网结算单价
     */
    private BigDecimal gdwjsdj;

    /**
     * 总客户消纳电费
     */
    private BigDecimal zkhxndf;

    /**
     * 尖客户消纳电费
     */
    private BigDecimal jkhxndf;

    /**
     * 峰客户消纳电费
     */
    private BigDecimal fkhxndf;

    /**
     * 平客户消纳电费
     */
    private BigDecimal pkhxndf;

    /**
     * 谷客户消纳电费
     */
    private BigDecimal gkhxndf;

    /**
     * 总折扣比例
     */
    private BigDecimal zzkbl;

    /**
     * 尖折扣比例
     */
    private BigDecimal jzkbl;

    /**
     * 峰折扣比例
     */
    private BigDecimal fzkbl;

    /**
     * 平折扣比例
     */
    private BigDecimal pzkbl;

    /**
     * 谷折扣比例
     */
    private BigDecimal gzkbl;

    /**
     * 总结算电费
     */
    private BigDecimal zjsdf;

    /**
     * 尖结算电费
     */
    private BigDecimal jjsdf;

    /**
     * 峰结算电费
     */
    private BigDecimal fjsdf;

    /**
     * 平结算电费
     */
    private BigDecimal pjsdf;

    /**
     * 谷结算电费
     */
    private BigDecimal gjsdf;

    /**
     * 总消纳比例
     */
    private BigDecimal zxnbl;

    /**
     * 尖消纳比例
     */
    private BigDecimal jxnbl;

    /**
     * 峰消纳比例
     */
    private BigDecimal fxnbl;

    /**
     * 平消纳比例
     */
    private BigDecimal pxnbl;

    /**
     * 谷消纳比例
     */
    private BigDecimal gxnbl;

    /**
     * 总上网比例
     */
    private BigDecimal zswbl;

    /**
     * 尖上网比例
     */
    private BigDecimal jswbl;

    /**
     * 峰上网比例
     */
    private BigDecimal fswbl;

    /**
     * 平上网比例
     */
    private BigDecimal pswbl;

    /**
     * 谷上网比例
     */
    private BigDecimal gswbl;

    /**
     * 执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date executionDate;
    /***
     * 0-微信支付  1-线下支付
     */
    private Integer  feeType;
    /***
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date  feeDate;
    /***
     * 0-待支付   1-已支付
     */
    private Integer  feeState;
    /***
     * 线下支付凭证
     */
    private String  voucher;
    /**
     * 缴费用户
     */
    private String  username;
    /**
     * 缴费用户id
     */
    private Long userId;
    /**
     * 缴费账户
     */
    private String  account;
    /**
     * 微信账单号
     */
    private String  outTradeNo;
    /**
     * 缴费人电话
     */
    private String phone;
    /**
     * 缴纳费用
     */
    private BigDecimal  fee;
    /**
     * 制表员名
     */
    private String  zby;
    /**
     * 电网结算单价构成设置
     */
    @TableField(exist = false)
    private GridSettlementUnitPrice gridSettlementUnitPrice;
    /**
     * 计价信息设置
     */
    @TableField(exist = false)
    private List<BillingInformationSettings> billingInformationSettings;

    /**
     * 电网结算单价构成设置改
     */
    @TableField(exist = false)
    private List<Dwjsdj> dwjsdjs;
}
